#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#include <cstring>
#include <thread>

using namespace std;

struct Request
{
    Request(int st, int en)
    :start(st), end(en)
    {}
    int start;
    int end;
};

struct Response
{
    int result;
    int exitcode;  //结果是否可靠
};

// void *sum(void *num)
// {
//     Request* eq = static_cast<Request*>(num);
//     Response* ret = new Response;
//     int i = eq->start;
//     while (i <= eq->end)
//     {
//         ret->result += i;
//         i++;
//     }
//     delete eq;
//     return ret;
// }


void* run()
{
    while (true)
    {
        printf("子线程:%p\n", pthread_self());
        sleep(1);
    }

}

int main()
{
    thread th(run);
    th.join();
    return 0;
    // pthread_t tid;
    // Request* req = new Request(1, 100);
    // pthread_create(&tid, nullptr, sum, req);
    // void *ret;
    // pthread_join(tid, &ret);

    // printf("结果:%d\n", ((Response *)ret)->result);
}
// void *run(void *args)
// {
//     int cnt = 5;
//     while (true)
//     {
//         if (cnt < 0)
//         {
//             break;
//         }
//         printf("new thread: %d\n", getpid());
//         cnt--;
//         sleep(1);
//     }

//     //pthread_exit((void *)1);
//     return (void *)1;
// }
 
// int main()
// {
//     pthread_t tid;
//     pthread_create(&tid, nullptr, run, nullptr);

//     void *ret;
//     pthread_join(tid, &ret);
//     printf("等待成功: %d\n", (long)ret);
// }